package com.back.demo.mapper;

import com.back.demo.common.StudentInfo;
import com.back.demo.mapper.myDO.StudentDO.StudentPositionDO;
import com.back.demo.mapper.myDO.StudentDO.StudentPracticeDO;
import com.back.demo.mapper.myDO.StudentDO.StudentResearchDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;

@Mapper
@Repository
public interface StudentMapper {

    // 备用
    // StudentInfo selectStudentInfoByUserId(Integer userId);

    StudentInfo selectStudentInfoByStudentId(String studentId);

    //个人学年总结
    String selectStudentSummaryByStudentId(@Param("studentId") String studentId);

    void updateStudentSummary(@Param("studentId") String studentId, @Param("summary") String summary);
    //个人学年总结

    //科研情况
    ArrayList<StudentResearchDO> selectStudentResearchByStudentId(String studentId);

    void insertStudentResearchByStudentId(String studentId, Integer researchType, String researchTime, String researchName, String researchContent);

    void updateStudentResearchById(Integer id, Integer researchType, String researchTime, String researchName, String researchContent);

    void deleteStudentResearchById(Integer id);

    //科研情况

    //社会实践
    ArrayList<StudentPracticeDO> selectStudentPracticeByStudentId(String studentId);

    void insertStudentPracticeByStudentId(String studentId, String practiceDate, String practiceName, String practiceSponsor, String practiceTheme, String practiceWork, Integer practiceLength);

    void updateStudentPracticeById(StudentPracticeDO reqDO);

    void deleteStudentPracticeById(Integer id);
    //社会实践

    //学生骨干服务
    ArrayList<StudentPositionDO> selectStudentPositionByStudentId(String studentId);

    void insertStudentPositionByStudentId(String studentId, String positionName, String positionStartDate, String positionEndDate, String positionReport);

    void updateStudentPositionById(StudentPositionDO reqDO);

    void deleteStudentPositionById(Integer id);
    //学生骨干服务

    void changeStudentInfo(@Param("username") String username, @Param("phone") String phone, @Param("email") String email);

}
